package OBS;
import java.util.GregorianCalendar;

/**
 *
 * @author Daniel Koch
 */
public class BatchReport {
    private int ID;
    private String name;
    private GregorianCalendar timeRecieved;
    private GregorianCalendar batchStartTime;
    private GregorianCalendar batchEndTime;
    private Boolean success;
    private String statusMessage;
    private BatchReportDetailSet[] batchReportDetailSets = new BatchReportDetailSet[0];

    /**
     * @param ID
     * @param name
     * @param timeRecieved
     * @param batchStartTime
     * @param batchEndTime
     * @param success
     * @param statusMessage
     * @param batchReportDetailSets
     */
    public BatchReport(int ID, String name, GregorianCalendar timeRecieved, GregorianCalendar batchStartTime, GregorianCalendar batchEndTime, Boolean success, String statusMessage, BatchReportDetailSet[] batchReportDetailSets) {
        this.ID = ID;
        this.name = name;
        this.timeRecieved = timeRecieved;
        this.batchStartTime = batchStartTime;
        this.batchEndTime = batchEndTime;
        this.success = success;
        this.statusMessage = statusMessage;
        if(batchReportDetailSets != null) {
            this.batchReportDetailSets = batchReportDetailSets;
        }
    }

    /**
     *
     * @return
     */
    public String toString() {
        return this.name;
    }

    /**
     * 
     * @return
     */
    public int getID() {
        return ID;
    }

    /**
     * 
     * @return
     */
    public GregorianCalendar getBatchEndTime() {
        return batchEndTime;
    }

    /**
     * 
     * @return
     */
    public GregorianCalendar getBatchStartTime() {
        return batchStartTime;
    }

    /**
     * 
     * @return
     */
    public String getName() {
        return name;
    }

    /**
     * 
     * @return
     */
    public String getStatusMessage() {
        return statusMessage;
    }

    /**
     * 
     * @return
     */
    public Boolean getSuccess() {
        return success;
    }

    /**
     * 
     * @return
     */
    public GregorianCalendar getTimeRecieved() {
        return timeRecieved;
    }

    /**
     * 
     * @return
     */
    public BatchReportDetailSet[] getBatchReportDetailSets() {
        return batchReportDetailSets;
    }    
}
